shortcuts: Make sure that hidden shortcuts stay hidden
authorBastien Nocera <hadess@hadess.net>
Wed, 16 Dec 2015 11:20:47 +0000 (12:20 +0100)
committerBastien Nocera <hadess@hadess.net>
Wed, 16 Dec 2015 11:22:58 +0000 (12:22 +0100)
When doing a gtk_widget_show_all() on the shortcuts window,
accelerators for both RTL and LTR directions are being shown.

Make sure that no-show-all is set by default on hidden shortcuts, and
updated if the widget direction changes.

https://bugzilla.gnome.org/show_bug.cgi?id=759541

gtk/gtkshortcutsshortcut.c

index 967a536ad773dd19f544ebe5d1a9e5fb82d4bdb5..cd446740c3ac534827cea9a11cbe11543dfedde6 100644 (file)
@@ -259,9 +259,15 @@ update_visible_from_direction (GtkShortcutsShortcut *self)
 {
   if (self->direction == GTK_TEXT_DIR_NONE ||
       self->direction == gtk_widget_get_direction (GTK_WIDGET (self)))
-    gtk_widget_set_visible (GTK_WIDGET (self), TRUE);
+    {
+      gtk_widget_set_visible (GTK_WIDGET (self), TRUE);
+      gtk_widget_set_no_show_all (GTK_WIDGET (self), FALSE);
+    }
   else
-    gtk_widget_set_visible (GTK_WIDGET (self), FALSE);
+    {
+      gtk_widget_set_visible (GTK_WIDGET (self), FALSE);
+      gtk_widget_set_no_show_all (GTK_WIDGET (self), TRUE);
+    }
 }
 
 static void